課程資訊
課程名稱
演算法
The Design and Analysis of Algorithms 
開課學期
101-2 
授課對象
電機資訊學院  電機工程學研究所  
授課教師
李建模 
課號
EE5048 
課程識別碼
921 U2110 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期五6,7,8(13:20~16:20) 
上課地點
電二106 
備註
總人數上限:60人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1012_algorithms 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This class introduces basic concepts of design and analysis of computer algorithms. The course contents include fundamental knowledge, sorting, trees, dynamic programming, graphs, NP-completeness and etc. 

課程目標
Students will learn how to design and analyze algorithms as well as implement it in C or C++ codes to solve problems. 
課程要求
Computer programming skills in C or C++ is needed.
Students are required to program in Linux systems.
Background in data structures is a plus but not required.
Grading is based on homework, programming assignments, exam, project and etc. 
預期每週課後學習時數
 
Office Hours
每週三 10:00~12:00
每週四 14:00~16:00 備註: 週三為PA助教輪值. 週四為HW助教輪值. 若以下時間無法前來, 可以寄信另外約時間. 
指定閱讀
Cormen, Leiserson, Rivest, Stien, Introduction to Algorithms, 3rd edition, MIT Press, 2009.  
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第0週
  reading materials, STL, sorting etc 
第2週
3/01  foundation + sorting 
第4週
3/15  Greedy and DP 
第5週
3/22  trees 
第6週
3/29  video demo of RB tree
LN5 Disjoint Set 
第7週
4/05  no class 
第8週
4/12  graph 
第9週
4/19  MST 
第10週
4/26  shortest path 
第11週
5/03  maximum flow 
第12週
5/10  amortized analysis / NPC 
第13週
5/17  progress presentation/ optimization (updated 5/13) 
第14週
5/24  matrix / linear programming 
第15週
5/31  multithread 
第16週
6/07  exam 
第17週
6/14  final presentation. 每組15分鐘含QA